1. Field of the Invention
Embodiments of the present invention generally relate to file system management and, more particularly, to a method and apparatus for virtualizing file system placeholders at a computer.
2. Description of the Related Art
In typical computing environments, small to large enterprises accumulate a significant amount of mission critical data related to various operations (e.g., business transactions, administration, resource management, manufacturing, services, and/or the like). Based on a file system (e.g., File Allocation Table (FAT), NT File System and/or the like), an operating system stores the mission critical data as files and then organizes these files within one or more volumes. Various data protection software programs may store the mission critical data in various storage devices (e.g., a tape drive, a hard disk drive and/or the like). Furthermore, archival software programs (e.g., Enterprise Vault) may preserve the mission critical data in a repository.
During an archival process, a software program (e.g., an agent associated with the archival software programs) creates a placeholder for an archived file, which replaces the archived file within the file system. The placeholder may be stored within a same folder in which the archived file resided. The placeholder may be dummy file that includes a Uniform Resource Locator (URL) for accessing the archived file in the repository. File system management software (e.g., MICROSOFT Windows Explorer) may display the placeholder as a whole file with each and every attribute but with a changed icon. When a user desires to access the archived file, the software program converts the placeholder into a physical file by downloading file data from the repository.
As the number of files on a computer increases, a number of placeholders also increases as a consequence. For example, the computer may include one million files on a single volume. If each and every file is archived, then a significant number of corresponding placeholders are created. An administrator, unfortunately, must allocate a significant amount of time and resources into managing placeholder creation and controlling access to the placeholders. These activities also consume various computer resources, such as processor cycles, memory capacity, network bandwidth and/or the like, which result in a poor computer system performance and stability. For example, a large number of placeholders slows down a backup process because of time spent analyzing each of the placeholders and determining whether a corresponding archived file is backed up or not. As another example, an anti-virus software program that performs routine security scans to detect and/or remove potential malware must scan each and every one of the placeholders.
Occasionally, a user may displace a placeholder within a file system. As a result, it is difficult to determine an original location (e.g., a directory, a folder and/or the like) associated with the displaced placeholder. In addition, when the archived file is restored, file data is stored at location associated with the archived file and not at a current location associated with the displaced placeholder. For example, the user may move a placeholder ‘P’ from a directory ‘X’ to a directory ‘Y’. Hence, when the placeholder ‘P’ is accessed, the corresponding archived file is restored to the directory ‘X’ and not the directory ‘Y’.
Furthermore, the user may migrate a home directory and/or one or more shared folders from one location (e.g., a server, a storage subsystem and/or the like) to another location (e.g., a server, a storage subsystem and/or the like). The placeholders, however, are not adjusted accordingly. Furthermore, access rights and permissions for the archived files must be maintained, which results in an additional burden on a file server to periodically scan for changes to the access rights.
Therefore, there is a need in the art for a method and apparatus for virtualizing file system placeholders.